package cn.edu.jnu.x2020101356;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.text.TextWatcher;
import android.widget.Toast;

import java.text.DecimalFormat;

public class Scrum extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scrum);

        Button confirm = findViewById(R.id.confirm_button);
        EditText editText1 = findViewById(R.id.Apply_Year);
        EditText editText2 = findViewById(R.id.Apply_amount);
        TextView textView = findViewById(R.id.interest_rate);
        TextView textView2 = findViewById(R.id.interest);

        editText1.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                // 在输入框内容变化之前执行
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // 在输入框内容变化时执行
                String input1 = editText1.getText().toString();
                String input2 = editText2.getText().toString();
                String result = input1 + input2;
                if (input1.matches("\\d+")) {
                    // 字符串只包含数字
                    if(Integer.parseInt(input1)>10){
                        textView.setText("超出贷款年限");
                    }else if(Integer.parseInt(input1)<0){
                        textView.setText("贷款年限不能为负");
                    }
                    else{
                        float rate = (float)(3+ 0.6*Integer.parseInt(input1));
                        textView.setText(Float.toString((rate)));
                    }
                } else {
                    // 字符串包含其他字符
                }
            }
            @Override
            public void afterTextChanged(Editable editable) {
            }

        });
        editText2.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                // 在输入框内容变化之前执行
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // 在输入框内容变化时执行
                String input1 = editText1.getText().toString();
                String input2 = editText2.getText().toString();

                String result = input1 + input2;
                if (input1.matches("\\d+")&&input2.matches("\\d+")) {
                    // 字符串只包含数字
                    float rate = Float.parseFloat(textView.getText().toString());
                    float amount = (float)( Integer.parseInt(input2) + Integer.parseInt(input1)*Integer.parseInt(input2)*rate*0.01);
                    DecimalFormat df = new DecimalFormat("#.00");
                    // 使用 DecimalFormat 格式化数字
                    String str = df.format(amount);
                    textView2.setText(str);
                } else {
                    // 字符串包含其他字符
                }
            }
            @Override
            public void afterTextChanged(Editable s) {
                // 在输入框内容变化之后执行
            }
        });
        Spinner spinner = findViewById(R.id.pay_way);
        // 获取当前选中的项
        Object selectedItem = spinner.getSelectedItem();

        confirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(Scrum.this);
                builder.setMessage("当前利率为："+textView.getText().toString()+" 需要还款共"+textView2.getText().toString()+"万元\n"+"还款方式为："+selectedItem.toString()+"\n确认贷款吗？")
                        .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // 用户点击了确认按钮
                                String text1 = textView.getText().toString();
                                String text2 = textView2.getText().toString();
                                // 在这里处理确认事件，并使用 text1 和 text2 传递两个 TextView 的信息
                                Toast.makeText(Scrum.this, "贷款成功！"+"利率为："+textView.getText().toString()+" 需要还款共"+textView2.getText().toString()+"万元",Toast.LENGTH_SHORT).show();
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // 用户点击了取消按钮
                                Toast.makeText(Scrum.this, "取消贷款", Toast.LENGTH_SHORT).show();
                            }
                        });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });

    }



}